//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================

#ifndef __CMALLOC_H
#define __CMALLOC_H

#ifndef STDMETHODCALLTYPE
#define STDMETHODCALLTYPE __stdcall
#endif

typedef Int64 TIME;

class CMalloc
{
public:
    CMalloc(){}
    virtual ~CMalloc(){}
public:
    virtual PVoid STDMETHODCALLTYPE Alloc(
            /* [in] */ size_t cb);

    virtual PVoid STDMETHODCALLTYPE Realloc(
            /* [in] */ PVoid pv,
            /* [in] */ size_t cb);

    virtual void STDMETHODCALLTYPE Free(
            /* [in] */ PVoid pv);

    size_t STDMETHODCALLTYPE GetSize(
            /* [in] */ PVoid pv);
};

#endif // __CMALLOC_H
